package com.xqboss.apps.vo.box;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 箱子
 *
 * @author wangcong
 * @date 2023-08-23
 */
@Data
@ApiModel("箱子vo")
public class BoxVo {

    @ApiModelProperty("箱子id")
    private Long id;

    @ApiModelProperty("箱子名称")
    private String name;

    /**
     * 标签id
     */
    @ApiModelProperty("标签id")
    private Long categoryId;

    /**
     * 分类id
     */
    @ApiModelProperty("分类id")
    private Long categoryNftId;

    /**
     * 公告id
     */
    @ApiModelProperty("公告id")
    private Long announcementId;

    @ApiModelProperty("作者id")
    private Long authorId;

    @ApiModelProperty("作者名称")
    private String authorName;

    @ApiModelProperty("作者头像")
    private String authorHeadimg;

    @ApiModelProperty("发行方id")
    private Long publishId;

    @ApiModelProperty("发行方名称")
    private String publishName;

    @ApiModelProperty("发行方头像")
    private String publishHeadimg;

    @ApiModelProperty("箱子图片")
    private String headimg;

    @ApiModelProperty("发售价格")
    private BigDecimal price;

    @ApiModelProperty("箱子类型：藏品箱子")
    private Integer type;

    @ApiModelProperty("开始发售时间")
    private LocalDateTime publishTimeStart;

    @ApiModelProperty("结束发售时间")
    private LocalDateTime publishTimeEnd;

    @ApiModelProperty("详情")
    private String description;

    @ApiModelProperty("模拟销量")
    private Integer simulatedSales;

    @ApiModelProperty("销量")
    private Integer sales;

    @ApiModelProperty("实际库存")
    private Integer stock;

    @ApiModelProperty("总库存")
    private Integer totalStock;

//    @ApiModelProperty("剩余库存：总库存－已售数量")
//    private Integer remainderStock;

    @ApiModelProperty("外显库存(发售总量)")
    private Integer displayStock;

    @ApiModelProperty("限购数量")
    private Integer limitStock;

    @ApiModelProperty("锁定库存 待支付")
    private Integer lockStock;

    @ApiModelProperty("是否上架 0否,1是")
    private Integer saleable;

    @ApiModelProperty("是否置顶 0否,1是")
    private Integer isTop;


    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty("藏品绑定数量")
    private Integer bindNum;

    @ApiModelProperty("是否绑定 0否，1是")
    private Integer isBind;

    @ApiModelProperty("发售状态 0未开始，1进行中，2已结束")
    private Integer saleStatus;

    @ApiModelProperty("开箱消耗热豆")
    private BigDecimal openHotBeans;

}